1. Field of the Invention
This invention relates to computing systems, and more particularly, to efficiently reducing power consumption through issue throttling of selected problematic instructions.
2. Description of the Relevant Art
Geometric dimensions of devices and metal routes on each generation of semiconductor processor cores are decreasing. Therefore, more functionality is provided within a given area of on-die real estate. As a result, mobile devices, such as laptop computers, tablet computers, smart phones, video cameras, and the like, have increasing popularity. Typically, these mobile devices receive electrical power from one or more battery cells. Since batteries have a limited capacity, they are periodically connected to an external charger to be recharged. A vital issue for these mobile devices is power consumption. As power consumption increases, battery life for these devices is reduced and the frequency of recharging increases.
As the density of integrated circuits on a die increases with multiple pipelines, larger caches, and more complex logic, the number of nodes and buses that may switch per clock cycle significantly increases. Therefore, power consumption increases. Additionally, a software application may execute particular computer program code that causes the hardware to reach a high power dissipation value. Such code could do this either unintentionally or intentionally (e.g., a power virus). The power dissipation may climb due to multiple occurrences of given instruction types within the program code. This power dissipation value may reach or exceed the thermal design power (TDP) of the chip or even the maximum chip power dissipation.
In addition to the above, a mobile device's cooling system may be designed for a given thermal design power (TDP), or a thermal design point. The cooling system may be able to dissipate a TDP value without exceeding a maximum junction temperature for the semiconductor die. However, multiple occurrences of given instruction types may cause the power dissipation to exceed the TDP for the semiconductor chip. Further, there are current limits for the power supply that may be exceeded as well. If power modes do not change the operating mode of the chip or turn off particular blocks within the chip, then the battery may be quickly discharged. In addition, physical damage may occur. While one approach to managing peak power dissipation may be to simply limit instruction issue so that it doesn't exceed a particular threshold, this may result in an unacceptable reduction in overall performance.
In view of the above, efficient methods and mechanisms for reducing power consumption through issue throttling of selected instructions are desired.